Código
este es mi código en el código VS para verificar si el usuario es un administrador o un usuario
exports.authorizeRoles = (...roles) => { return (req, res, next) => { if (!roles.includes(req.user.role)) { return next( new ErrorHandler( `Role: ${req.user.role} is not allowed to access this resource`, 403 ) ); } next(); }; };Error en API de cartero
la declaración usada debería estar bien, no sé cuál es este problema
"success": false, "message": "Cannot read properties of null (reading 'role')"Según su descripción, asumo que su objeto de user en req.user es nulo, por lo tanto, intenta leer el role de propiedad de un objeto nulo.
Ahora, puede verificar si hay un null antes de validar el rol, de esta manera la API al menos devolverá el error correcto. (por ejemplo, ver aquí )
Algo similar a (no he probado el código):
if (null == req?.user?.role) { return next(new ErrorHandler(`Bad request`, 400)); }Pero eso todavía no resuelve el problema de una solicitud válida. Para eso te sugiero que nos brindes más información sobre cómo declaras la solicitud.